package Entities;

import java.io.Serializable;
import java.util.Calendar;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToOne;

@Entity
@NamedQueries({
    @NamedQuery(name = "todosChoferes", query = "select c from Chofer c")})
public class Chofer extends Empleado implements Serializable {

    private static final long serialVersionUID = 1L;
    //Atributos
    @OneToOne(fetch = FetchType.EAGER)
    private Vehiculo vehiculo;

    //Constructores
    public Chofer() {
        super();
    }

    public Chofer(Vehiculo vehiculo) {
        this.vehiculo = vehiculo;
    }

    public Chofer(Vehiculo vehiculo, Integer ci, Integer puestoTrabajo) {
        super(ci, puestoTrabajo);
        this.vehiculo = vehiculo;
    }

    public Chofer(Vehiculo vehiculo, Integer ci, Integer puestoTrabajo, String nombreUsuario, String contrasenia, String nombre, String apellido, Integer telefono, Integer cel, Calendar fechaNac, String email, Integer rol, Integer departamento, String ciudad, String calle, Integer numero, String detalle) {
        super(ci, puestoTrabajo, nombreUsuario, contrasenia, nombre, apellido, telefono, cel, fechaNac, email, rol, departamento, ciudad, calle, numero, detalle);
        this.vehiculo = vehiculo;
    }

    //Getters and Setters
    public Vehiculo getVehiculo() {
        return vehiculo;
    }

    public void setVehiculo(Vehiculo vehiculo) {
        this.vehiculo = vehiculo;
    }

    //toString
    @Override
    public String toString() {
        return "Entity.Chofer[ vehiculo=" + vehiculo + " ]";
    }
}